home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
byte0987.arc
/
REUSESOF.ARC
/
SORT.MOD
< prev
next >
Wrap
Text File
|
1986-07-15
|
662b
|
31 lines
IMPLEMENTATION MODULE Sort;
FROM SortElemType IMPORT ElemType, compare;
PROCEDURE Qsort (VAR A: ARRAY OF ElemType; N: CARDINAL);
PROCEDURE sort (l, r: INTEGER); (* N. Wirth '86 *)
VAR i, j : INTEGER;
x, w : ElemType;
BEGIN
i:= l; j:= r;
x:= A[(l+r) DIV 2];
REPEAT
WHILE compare(A[i],x) DO INC(i) END;
WHILE compare(x,A[j]) DO DEC(j) END;
IF i <= j
THEN w:= A[i]; A[i]:= A[j]; A[j]:= w;
INC(i); DEC(j)
END;
UNTIL i > j;
IF l < j THEN sort(l,j) END;
IF i < r THEN sort(i,r) END
END sort;
BEGIN
IF N > HIGH(A)+1 THEN N:= HIGH(A)+1 END;
sort(0,N-1)
END Qsort;
END Sort.